# _*_ coding:utf-8 _*_
# 开发团队: Mavericks
# 开发人员：Maverick·Ming
# 开发IDE： PyCharm
#   项目名：DouBanSpider
#   文件名：14 解析去除xa0.py
# 开发时间：2021/4/1 17:43

# 在12应用规则解析内容中,解析影片英文名时,出现了\xa0\xa0La vita è bella'
# 解析inq电影概况时,出现了各种各样的\n \xa0 或者前后太多空格:
# '\n'
#   '                            导演: 罗伯托·贝尼尼 Roberto Benigni\xa0\xa0\xa0主演: '
#   '罗伯托·贝尼尼 Roberto Beni... 1997\xa0 \xa0意大利\xa0 \xa0剧情 喜剧 爱情 战争\n'
#   '                        '],
# 我们如何解决:
string_1 = '\xa0\xa0La vita è bella'

# 尝试一:
# string_1 = ''.join(string_1.split())  # 去除空格 特殊符号 换行符等
# print(string_1, type(string_1))  # 结果:Lavitaèbella  原本的空格不见了,失败

# 尝试二:
# xA0实际上是Latin 1(ISO 8859-1)中的非破坏空间，也是chr(160)。你应该用一个空格来代替它。
string_1 = string_1.replace(u'\xa0', '')
# .encode(‘utf-8’)，它会将Unicode编码为utf-8，这意味着每个Unicode可以用1到4个字节表示。
# 在这种情况下，\xA0由2个字节\xc2\xA0表示。
print(string_1, type(string_1))  # 结果: La vita è bella , 成功!


string_2 = ['\n'
            '                            导演: 罗伯托·贝尼尼 Roberto Benigni\xa0\xa0\xa0主演: '
            '罗伯托·贝尼尼 Roberto Beni... 1997\xa0 \xa0意大利\xa0 \xa0剧情 喜剧 爱情 战争\n'
            '                        ']
# 应用上面的replace方法即可去除
# 之所以没有去除前后空格,是因为
# strip()单纯调用了,没传值